<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  
  
  <link rel="shortcut icon" href="../../img/favicon.ico">
  <title>一 基本操作 - 《以撒的积木》文档</title>
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700" />

  <link rel="stylesheet" href="../../css/theme.css" />
  <link rel="stylesheet" href="../../css/theme_extra.css" />
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/styles/github.min.css" />
  
  <script>
    // Current page data
    var mkdocs_page_name = "\u4e00 \u57fa\u672c\u64cd\u4f5c";
    var mkdocs_page_input_path = "text_tutorial\\1.basic_operate.md";
    var mkdocs_page_url = null;
  </script>
  
  <script src="../../js/jquery-2.1.1.min.js" defer></script>
  <script src="../../js/modernizr-2.8.3.min.js" defer></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.5.0/highlight.min.js"></script>
  <script>hljs.initHighlightingOnLoad();</script> 
</head>

<body class="wy-body-for-nav" role="document">

  <div class="wy-grid-for-nav">

    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
    <div class="wy-side-scroll">
      <div class="wy-side-nav-search">
        <a href="../.." class="icon icon-home"> 《以撒的积木》文档</a>
        
      </div>

      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
                <ul>
                    <li class="toctree-l1"><a class="reference internal" href="../..">主页</a>
                    </li>
                </ul>
                <p class="caption"><span class="caption-text">文字教程</span></p>
                <ul class="current">
                    <li class="toctree-l1 current"><a class="reference internal current" href="./">一 基本操作</a>
    <ul class="current">
    </ul>
                    </li>
                    <li class="toctree-l1"><a class="reference internal" href="../2.block_basic_rule/">二 积木搭建规则</a>
                    </li>
                    <li class="toctree-l1"><a class="reference internal" href="../3.type_system/">三 类型系统</a>
                    </li>
                    <li class="toctree-l1"><a class="reference internal" href="../4.block_logic/">四 逻辑积木</a>
                    </li>
                    <li class="toctree-l1"><a class="reference internal" href="../5.callback_block/">五 游戏流程与回调积木</a>
                    </li>
                </ul>
      </div>
    </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
        <a href="../..">《以撒的积木》文档</a>
      </nav>

      
      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="../..">文档</a> &raquo;</li>
    
      
        
          <li>文字教程 &raquo;</li>
        
      
    
    <li>一 基本操作</li>
    <li class="wy-breadcrumbs-aside">
      
    </li>
  </ul>
  
  <hr/>
</div>

          <div role="main">
            <div class="section">
              
                <h1 id="_1">基本操作</h1>
<p>基本的编辑器界面主要由以下部件构成：</p>
<p><img alt="图 1" src="../images/fe9e2fe208f15f9ac3dd32617affb8dfd5295978d612eb09d9e569047600355a.png" />  </p>
<ol>
<li>工具栏，从左到右依次为<ul>
<li><code>打开</code>按钮，可以打开<code>biml工程文件</code></li>
<li><code>保存</code>按钮，可以将当前的积木内容保存为<code>biml工程文件</code></li>
<li><code>撤销</code>按钮，也可以按<code>ctrl+z</code>来撤销，还可以按<code>ctrl+shift+z</code>来重做，也就是“撤销<code>撤销</code>”</li>
<li><code>复制到游戏控制台</code>按钮，点击后可以根据<code>积木程序</code>来生成一条控制台指令，在游戏的控制台上按<code>ctrl+v</code>即可执行。是一种方便的执行逻辑的方式。</li>
<li><code>导出lua程序</code>按钮，可以将<code>积木程序</code>导出为<code>main.lua</code>文件，此文件可放在mod中生效。</li>
<li><code>清空</code>按钮，清空当前的所有积木。</li>
<li><code>下载离线版本</code>按钮，点击后跳转到离线版本程序的网站，此按钮在离线编辑器中不存在。</li>
<li><code>打开教程文档</code>按钮，点击后打开此文档的主页</li>
<li><code>版权声明</code>按钮，编辑器的版权为<code>MIT License</code>开源许可。</li>
</ul>
</li>
<li>语言选项，在这里可以切换语言<ul>
<li>目前只有中文在持续维护</li>
</ul>
</li>
<li>工具箱，所有的<code>积木</code>都可以在这里找到</li>
<li>缩放重置按钮，点击后，所有的积木回到视野正中心。</li>
<li>缩放按钮</li>
<li>删除按钮，将不需要的<code>积木</code>拖拽到这里删除，也可以右键删除一个积木，或选中一个块后按键盘的<code>del</code>键</li>
<li>工作区，在这里摆放积木</li>
</ol>
<h1 id="biml">biml工程文件</h1>
<p>可以将已经搭建好的积木保存为<code>biml</code>工程文件。<code>biml</code>是<code>BlocklyIsaac XML</code>中的部分字母的缩写，是一种以文本方式保存的xml文件格式，保存了各个<code>积木</code>的定义及其连接方式等内容。</p>
<h1 id="_2">悬停提示</h1>
<p>将鼠标放在一个<code>积木</code>上保持不动，就会显示一个悬停提示。</p>
<p><img alt="图 8" src="../images/1f50fbfdd3dbfb49ac170f736685da08e8d31d1340586c4e1b76ef639a13a707.png" />  </p>
<p>对于以撒的游戏内逻辑积木，此提示目前包括：</p>
<ul>
<li>积木的来源，例如图上的积木就来自左侧的<code>关卡类</code>中。这在阅读别人的程序，想要快速找到<code>积木</code>来源的时候会有帮助。</li>
<li>积木的名称，对应的是积木的功能。例如图上的积木就是一个<code>增加诅咒</code>的功能。</li>
<li>积木的类型，对应有变量、函数等形式。不同类型的<code>积木</code>生成的<code>lua代码</code>是不一样的，一般无需关心这个类型。</li>
</ul>
<h1 id="_3">右键菜单功能</h1>
<p>当我们右键一个<code>积木</code>的时候，会弹出一个菜单：</p>
<p><img alt="图 2" src="../images/252e79e430f4e37bbd4f822c3f428d16814b8e9675477d89ee463b42517371fb.png" />  </p>
<ol>
<li><code>克隆</code>，再复制一个一模一样的<code>积木</code>，可以使用快捷键<code>ctrl+c</code>然后马上按<code>ctrl+v</code>来实现。<ul>
<li>受限于程序接口，网页版本的在线编辑器不支持跨页面的复制粘贴。也就是如果同时打开两个编辑器的话，在其中一个编辑器中复制的内容，无法粘贴到另一个编辑器中，因此右键菜单不单独提供<code>复制</code> <code>粘贴</code>选项。如果下载可执行的本地离线版本，则没有此限制。</li>
</ul>
</li>
<li><code>添加注释</code>，给<code>积木</code>写一段标注文字，这段文字没有实际作用，是给人看的。</li>
<li><code>单行输入</code>，切换到<code>单行输入模式</code>。</li>
<li><code>折叠块</code>，将<code>积木</code>折叠起来，不会影响到原本功能，但看着会更省地方。</li>
<li><code>禁用块</code>，这会导致当前的积木完全失效。</li>
<li><code>删除x个块</code>，删除<code>积木</code>。</li>
<li><code>帮助</code>，跳转到相关的帮助文档。对于<code>Blockly</code>内置的<code>积木</code>，将跳转到对应逻辑的维基百科或其它相关页面。对于<code>以撒的结合</code>游戏中的功能积木，将跳转到<a href="https://moddingofisaac.com/docs/rep/index.html">IsaacDoc</a>文档，此文档为lua编程时使用的文档，与<code>以撒的积木</code>工程中的积木块是严格对应的。<ul>
<li>IsaacDoc文档由开源社区维护，记录了游戏的各个模块的使用方式、bug等。个别<code>积木</code>由于BUG无法使用，则可能会记录在此文档中。</li>
</ul>
</li>
<li>其它，个别积木会有其它特殊的选项。</li>
</ol>
<h1 id="_4">单行输入模式</h1>
<p>右键菜单中的<code>单行输入</code>模式会让一个<code>积木</code>的所有输入嵌入进来，和原本的<code>外部输入</code>模式在功能上完全相同，但可以方便摆放。</p>
<p>单行输入模式：</p>
<p><img alt="图 3" src="../images/17bc4e02da200332a53fea4d5b7197d0b65921359c5689ece19fe9f2c6af45a6.png" />  </p>
<p>外部输入模式：</p>
<p><img alt="图 4" src="../images/f7d15b70c47e7cd4171b7c9fe511db7dba692a2e20ab335d99497271932ead16.png" />  </p>
<h1 id="_5">折叠块</h1>
<p>右键菜单中的<code>折叠块</code>会让块缩小，来方便摆放：</p>
<p><img alt="图 5" src="../images/4c570e5e1d121f520853041859cc5596ee833d0190c04fc260547c09577a34d8.png" />  </p>
<h1 id="_6">禁用块</h1>
<p>禁用一个块之后，这个块的功能就会失效，就好像它被删除了一样。但可以通过右键再次启用：</p>
<p><img alt="图 6" src="../images/abffcd99cd4af2a3a1e8e9930bd8e8c820469f866ccf0c5d005721e1bca29f62.png" />  </p>
<h1 id="_7">注释</h1>
<p>右键一个块可以<code>添加注释</code>，这会在块的左上角标记一个问号，点击这个问号之后，会跳出一个文本框，文本框的内容可以随意编辑，并随着<code>biml工程文件</code>保存和加载。</p>
<p><strong><code>注释</code>是一个重要的交流工具，你可以在一个<code>积木</code>上添加注释，告诉别人你在做什么。或者防止自己下次看到以后忘记自己做过什么。</strong></p>
<p><img alt="图 7" src="../images/b8b5b7648adc8f3b41d0a099824f00d6b98157bd5f30a080941166009315ac32.png" />  </p>
              
            </div>
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="../2.block_basic_rule/" class="btn btn-neutral float-right" title="二 积木搭建规则">下一张 <span class="icon icon-circle-arrow-right"></span></a>
      
      
        <a href="../.." class="btn btn-neutral" title="主页"><span class="icon icon-circle-arrow-left"></span> 上一张</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <!-- Copyright etc -->
    
  </div>

  用<a href="https://www.mkdocs.org/">MkDocs</a>构建，使用<a href="https://readthedocs.org">Read the Docs</a>提供的<a href="https://github.com/snide/sphinx_rtd_theme">theme</a>。
</footer>
      
        </div>
      </div>

    </section>

  </div>

  <div class="rst-versions" role="note" aria-label="versions">
  <span class="rst-current-version" data-toggle="rst-current-version">
    
    
      <span><a href="../.." style="color: #fcfcfc">&laquo; 上一张</a></span>
    
    
      <span><a href="../2.block_basic_rule/" style="color: #fcfcfc">下一张 &raquo;</a></span>
    
  </span>
</div>
    <script>var base_url = '../..';</script>
    <script src="../../js/theme_extra.js" defer></script>
    <script src="../../js/theme.js" defer></script>
      <script src="../../api.js?v=1" defer></script>
    <script defer>
        window.onload = function () {
            SphinxRtdTheme.Navigation.enable(true);
        };
    </script>

</body>
</html>
